Calculadora Generica
POST /apicbgenerica
Descripción: Endpoint utilizado para ejecutar cálculos de títulos genéricos que no están en la base de datos del sistema. Permite crear un título temporal con sus características y ejecutar cálculos sobre él.
Parámetros:
titulo_generico:
nemotecnico- Nemotécnico del título genéricocodisin- Código ISIN del títulobase_liquidacion- Base de liquidación (ej: "Actual/Actual", "30/360")formula_descuento- Fórmula de descuento a utilizarperiodicidad- Periodicidad de pago (ej: "Semestral", "Trimestral")tasa_cupon- Tasa de cupón anual del títulofecha_emision- Fecha de emisión, formato YYYY-MM-DDfecha_vencimiento- Fecha de vencimiento, formato YYYY-MM-DDvalor_nominal_unitario- Valor nominal unitario del títulomoneda- Moneda del título (ej: "DOP", "USD")emisor- Nombre del emisortipo_tasa- Tipo de tasa (ej: "Tasa Fija", "Tasa Variable")nombre_instrumento- Nombre del instrumento
calculo_input:
tipo_insumo- r (rendimiento), p (precio) o t (transado)tipo_monto- n (nominal) o t (transado)insumo- Valor del insumomonto- Valor del montofecha_liquidacion- Fecha de liquidación, formato YYYY-MM-DD
config:
with_flujos- true/false para incluir los flujoscarry_efectivo- true/false para incluir carry efectivoround- Número de decimales para redondeo
Consulta:
- Ejemplo Body
- Python
{
"auth": {
"usuario": "colocar_usuario",
"password": "colocar_password"
},
"titulo_generico": {
"nemotecnico": "CUSTOM01",
"codisin": "DO1234567890",
"base_liquidacion": "Actual/Actual",
"formula_descuento": "8-6-2-365-2-366",
"periodicidad": "Semestral",
"tasa_cupon": 12.5,
"fecha_emision": "2023-01-15",
"fecha_vencimiento": "2033-01-15",
"valor_nominal_unitario": 100000,
"moneda": "DOP",
"emisor": "Emisor Genérico",
"tipo_tasa": "Tasa Fija",
"nombre_instrumento": "Bono Genérico"
},
"calculo_input": {
"tipo_insumo": "r",
"tipo_monto": "n",
"insumo": 11.5,
"monto": 500000,
"fecha_liquidacion": "2024-06-15"
},
"data_calculo": null,
"config": {
"with_flujos": true,
"carry_efectivo": false,
"round": 10
}
}
import requests
url = 'https://calculadora.bvrd.exchange/apicbgenerica'
body = {
"auth": {
"usuario": "colocar_usuario",
"password": "colocar_password"
},
"titulo_generico": {
"nemotecnico": "CUSTOM01",
"codisin": "DO1234567890",
"base_liquidacion": "Actual/Actual",
"formula_descuento": "8-6-2-365-2-366",
"periodicidad": "Semestral",
"tasa_cupon": 12.5,
"fecha_emision": "2023-01-15",
"fecha_vencimiento": "2033-01-15",
"valor_nominal_unitario": 100000,
"moneda": "DOP",
"emisor": "Emisor Genérico",
"tipo_tasa": "Tasa Fija",
"nombre_instrumento": "Bono Genérico"
},
"calculo_input": {
"tipo_insumo": "r",
"tipo_monto": "n",
"insumo": 11.5,
"monto": 500000,
"fecha_liquidacion": "2024-06-15"
},
"data_calculo": None,
"config": {
"with_flujos": True,
"carry_efectivo": False,
"round": 10
}
}
response = requests.post(url, json=body)
print(response.json())
Respuesta:
- JSON
{
"titulo_calculo": {
"nemotecnico": "CUSTOM01",
"codisin": "DO1234567890",
"emisor": "Emisor Genérico",
"moneda": "DOP",
"nombre_instrumento": "Bono Genérico",
"nombre_periodo": "Semestral",
"tipo_tasa": "Tasa Fija",
"tipo_amortizacion_capital": "No Amortizable",
"base_liquidacion": "Actual/Actual",
"formula_calculo": "8-6-2-365-2-366",
"monto_nominal": 500000,
"cantidad_titulos": 5,
"valor_nominal_unitario": 100000,
"precio_limpio": 105.23,
"precio_sucio": 108.45,
"rendimiento": 11.5,
"cupon": 12.5,
"macaulay_duration": 5.67,
"modified_duration": 5.34,
"convexidad": 35.21
},
"flujos_titulo": [
{
"fecha_flujo": 1705276800,
"fecha_flujo_str": "2024-01-15",
"monto_interes": 31250.0,
"monto_flujo": 31250.0
}
]
}